﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Xml.Serialization;

namespace GTA.BusinessEntity.Configuration
{
    [Serializable()]
    public class TaskStatusColor : ISerializable
    {
        public TaskStatusColor()
        {
            StatusFinalizadoBackColor = new Color(144, 238, 144);
            StatusCanceladoBackColor = new Color(220, 220, 220);
            StatusAtrasoInicioBackColor = new Color(222, 184, 135);
            StatusAtrasoEntregaBackColor = new Color(255, 228, 196);
            StatusAlertaInicioBackColor = new Color(173, 216, 230);
            StatusAlertaEntregaBackColor = new Color(240, 230, 140);
            StatusFinalizadoForeColor = new Color(0, 0, 0);
            StatusCanceladoForeColor = new Color(0, 0, 0);
            StatusAtrasoInicioForeColor = new Color(0, 0, 0);
            StatusAtrasoEntregaForeColor = new Color(0, 0, 0);
            StatusAlertaInicioForeColor = new Color(0, 0, 0);
            StatusAlertaEntregaForeColor = new Color(0, 0, 0);
        }

        [XmlElement("StatusFinalizado")]
        public Color StatusFinalizadoBackColor;
        [XmlElement("StatusCancelado")]
        public Color StatusCanceladoBackColor;
        [XmlElement("StatusAtrasoInicio")]
        public Color StatusAtrasoInicioBackColor;
        [XmlElement("StatusAtrasoEntrega")]
        public Color StatusAtrasoEntregaBackColor;
        [XmlElement("StatusAlertaInicio")]
        public Color StatusAlertaInicioBackColor;
        [XmlElement("StatusAlertaEntrega")]
        public Color StatusAlertaEntregaBackColor;
        [XmlElement("StatusFinalizadoForeColor")]
        public Color StatusFinalizadoForeColor;
        [XmlElement("StatusCanceladoForeColor")]
        public Color StatusCanceladoForeColor;
        [XmlElement("StatusAtrasoInicioForeColor")]
        public Color StatusAtrasoInicioForeColor;
        [XmlElement("StatusAtrasoEntregaForeColor")]
        public Color StatusAtrasoEntregaForeColor;
        [XmlElement("StatusAlertaInicioForeColor")]
        public Color StatusAlertaInicioForeColor;
        [XmlElement("StatusAlertaEntregaForeColor")]
        public Color StatusAlertaEntregaForeColor;

        #region ISerializable Members

        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            throw new NotImplementedException();
        }

        #endregion

        [Serializable()]
        public class Color : ISerializable
        {
            public Color() { }
            public Color(Int32 red, Int32 green, Int32 blue)
            {
                this.Red = red;
                this.Green = green;
                this.Blue = blue;
            }

            [XmlAttribute("Red")]
            public Int32 Red;
            [XmlAttribute("Green")]
            public Int32 Green;
            [XmlAttribute("Blue")]
            public Int32 Blue;

            #region ISerializable Members

            public void GetObjectData(SerializationInfo info, StreamingContext context)
            {
                throw new NotImplementedException();
            }

            #endregion
        }
    }
}
